Skip to content

feat: remove dotnet6 runtime and update dev guide Python versions#8914

Closed
sliedig wants to merge 2 commits intoaws:developfrom
sliedig:sliedig/remove-dotnet6-runtime
Closed

feat: remove dotnet6 runtime and update dev guide Python versions#8914
sliedig wants to merge 2 commits intoaws:developfrom
sliedig:sliedig/remove-dotnet6-runtime

Conversation

@sliedig
Copy link
Copy Markdown
Contributor

@sliedig sliedig commented Apr 13, 2026

Which issue(s) does this change fix?

N/A - dotnet6 has reached end of support per the AWS Lambda Runtime Support Policy.

Why is this change necessary?

The dotnet6 runtime is no longer supported by AWS Lambda. It should be removed from all supported surfaces in SAM CLI and registered as deprecated so users receive clear guidance to migrate to dotnet8 or dotnet10.

Additionally, DEVELOPMENT_GUIDE.md references Python 3.8 throughout, but the minimum supported version is now Python 3.10 per pyproject.toml.

How does it address the issue?

dotnet6 deprecation:

  • Added dotnet6 to DEPRECATED_RUNTIMES in samcli/lib/build/constants.py
  • Removed dotnet6 from build workflow configs, architecture support mappings, init templates, CLI schema, and command help text
  • Added dotnet10 and dotnet8 to local_manifest.json as actively supported replacements
  • Updated all unit, integration, and end-to-end tests to remove dotnet6 test cases and replace dotnet6 references with dotnet8

Dev guide update:

  • Updated all Python version references from 3.8 to 3.10 (minimum supported)
  • Updated pyenv virtualenv examples to use Python 3.12
  • Corrected setup.py reference to pyproject.toml

What side effects does this change have?

  • Users attempting to sam build with dotnet6 will receive a deprecation warning and an UnsupportedRuntimeException
  • Users running sam local invoke with existing dotnet6 functions will see a deprecation warning but execution will continue
  • dotnet6 is no longer offered as a template option in sam init

Related PR

aws/aws-sam-cli-app-templates#544

Mandatory Checklist

PRs will only be reviewed after checklist is complete

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

sliedig added 2 commits April 13, 2026 09:44
…deprecated

AWS Lambda deprecated the dotnet6 runtime on December 20, 2024.

Changes:
- Add dotnet6 to DEPRECATED_RUNTIMES in samcli/lib/build/constants.py
- Remove dotnet6 from INIT_RUNTIMES, RUNTIME_DEP_TEMPLATE_MAPPING,
  LAMBDA_IMAGES_RUNTIMES_MAP, and SAM_RUNTIME_TO_SCHEMAS_CODE_LANG_MAPPING
  in samcli/local/common/runtime_template.py
- Remove dotnet6 from SUPPORTED_RUNTIMES in samcli/lib/utils/architecture.py
- Remove dotnet6 from selectors_by_runtime and subfolders_by_runtime
  in samcli/lib/build/workflow_config.py
- Remove dotnet6 from samcli/lib/init/local_manifest.json and add
  missing dotnet8/dotnet10 entries
- Remove dotnet6 from schema/samcli.json runtime and base image enums
- Update sam build DESCRIPTION to remove Dotnet6 from help text
- Retain dotnet6 in Runtime enum and debug settings for local invocation
  compatibility during migration

Test updates:
- Add dotnet6 to deprecated runtimes test in test_app_builder.py
- Remove dotnet6 from supported runtime tests in test_workflow_config.py,
  test_architecture.py, test_cli.py, and test_manifest.json
- Add dotnet8/dotnet10 to test_architecture.py and test_cli.py
- Remove dotnet6 parameterizations from integration and e2e tests"
…to 3.10

The minimum supported Python version is now 3.10 per pyproject.toml.
Updated all examples, pyenv virtualenv names, and version references
accordingly. Also corrected setup.py reference to pyproject.toml.
@sliedig sliedig requested a review from a team as a code owner April 13, 2026 02:05
@github-actions github-actions bot added area/local/start-api sam local start-api command area/build sam build command area/local/invoke sam local invoke command area/local/start-invoke area/schema JSON schema file pr/external stage/needs-triage Automatically applied to new issues and PRs, indicating they haven't been looked at. labels Apr 13, 2026
sliedig added a commit to sliedig/aws-sam-cli-app-templates that referenced this pull request Apr 13, 2026
related to  SAM CLI (aws/aws-sam-cli#8914). Remove all dotnet6 templates, manifest
entries, tests, and CI references.
@reedham-aws
Copy link
Copy Markdown
Contributor

Hello @sliedig, thank you for your contribution!

According to the runtime guide, dotnet6 still allows function update through September 30, 2026. Because we still want to allow those using these runtimes to be able to update with SAM CLI until that point, we don't want to remove references to dotnet6 just yet.

The PR itself looks good, but I'm gonna close this and keep it in our back pocket for when we actually want to fully get rid of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/build sam build command area/local/invoke sam local invoke command area/local/start-api sam local start-api command area/local/start-invoke area/schema JSON schema file pr/external stage/needs-triage Automatically applied to new issues and PRs, indicating they haven't been looked at.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants